package com.iot.product.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.util.Date;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 设备物模型属性日志表
 * </p>
 *
 * @author 孟繁森
 * @since 2021-03-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("iot_device_model_attr_log")
@ApiModel(value="DeviceModelAttrLog对象", description="设备物模型属性日志表")
public class DeviceModelAttrLog implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;

    @ApiModelProperty(value = "产品id")
    private String productId;

    @ApiModelProperty(value = "设备id")
    private String deviceId;

    @ApiModelProperty(value = "产品物模型属性id")
    private String productModelAttrId;

    @ApiModelProperty(value = "模块id")
    private String productModelModuleId;

    @ApiModelProperty(value = "功能名称")
    private String name;

    @ApiModelProperty(value = "标识符")
    private String identifier;

    @ApiModelProperty(value = "数据类型 0:int,1:text,2:float,3:double,4:bool,5:date.6:array,7:struct,8:enum")
    private Integer dataType;

    @ApiModelProperty(value = "属性值")
    private String value;

    @ApiModelProperty(value = "单位的符号")
    private String unit;

    @ApiModelProperty(value = "单位的名称")
    private String unitName;

    @ApiModelProperty(value = "是否是系统主题 0:否,1:是")
    private Integer systemType;

    @ApiModelProperty(value = "是否删除 0:未删除,1:已删除")
    @TableLogic
    private Integer deleteStatus;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "创建者")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    @ApiModelProperty(value = "修改者")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;


}
